package com.hnucm.ktstudy.base

class Test<T>{
    fun add(a:T,b:T){

    }

    fun <T>print(string: String){
        println(string)
        //T::class
        Test::class
    }

    //inline内联
    //为什么内联函数才能泛型实化
    inline fun <reified T> plus(){
        T::class
    }
}

fun main(){
    /**
     * 1.泛型类
     * 2.泛型方法
     * 3.泛型实化
     */
    val test=Test<Int>();
    test.add(1,1)
//    test.add(1,"")
    test.print<String>("泛型方法")
    test.print<Int>("泛型方法 Int")
}